<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>

<title>GLM_GTX_ulp: Accuracy measurement</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="logo-mini.png"/></td>
  
  
  
   
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">GLM_GTX_ulp: Accuracy measurement</div>  </div>
<div class="ingroups"><a class="el" href="a00152.html">GTX Extensions (Experimental)</a></div></div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">uint&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00222.html#ga0c49c371f6b2adf02d03661e0f2499c9">float_distance</a> (T const &amp;x, T const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename T , template&lt; typename &gt; class vecType&gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">vecType&lt; uint &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00222.html#ga9b2de9eb54e59f20b20f7eccd40d435e">float_distance</a> (vecType&lt; T &gt; const &amp;x, vecType&lt; T &gt; const &amp;y)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00222.html#ga3be6de2d954fb457ff88085128e4b521">next_float</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00222.html#ga27752f3f7a9a79a50e95a9ed42800ca7">next_float</a> (genType const &amp;x, uint const &amp;Distance)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00222.html#ga2a0122b31c643ca1546635fe8e4f9f74">prev_float</a> (genType const &amp;x)</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;typename genType &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">genType&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00222.html#gae506d2fb08aff01e00763d7ed76fe117">prev_float</a> (genType const &amp;x, uint const &amp;Distance)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Allow the measurement of the accuracy of a function against a reference implementation. </p>
<p>This extension works on floating-point data and provide results in ULP. &lt;<a class="el" href="a00130.html" title="OpenGL Mathematics (glm.g-truc.net)">glm/gtx/ulp.hpp</a>&gt; need to be included to use these functionalities. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga0c49c371f6b2adf02d03661e0f2499c9"></a><!-- doxytag: member="glm::float_distance" ref="ga0c49c371f6b2adf02d03661e0f2499c9" args="(T const &amp;x, T const &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint glm::float_distance </td>
          <td>(</td>
          <td class="paramtype">T const &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T const &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the distance in the number of ULP between 2 scalars. </p>
<p>From GLM_GTX_ulp extension. </p>

</div>
</div>
<a class="anchor" id="ga9b2de9eb54e59f20b20f7eccd40d435e"></a><!-- doxytag: member="glm::float_distance" ref="ga9b2de9eb54e59f20b20f7eccd40d435e" args="(vecType&lt; T &gt; const &amp;x, vecType&lt; T &gt; const &amp;y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vecType&lt;uint&gt; glm::float_distance </td>
          <td>(</td>
          <td class="paramtype">vecType&lt; T &gt; const &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">vecType&lt; T &gt; const &amp;&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the distance in the number of ULP between 2 vectors. </p>
<p>From GLM_GTX_ulp extension. </p>

</div>
</div>
<a class="anchor" id="ga3be6de2d954fb457ff88085128e4b521"></a><!-- doxytag: member="glm::next_float" ref="ga3be6de2d954fb457ff88085128e4b521" args="(genType const &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">genType glm::next_float </td>
          <td>(</td>
          <td class="paramtype">genType const &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the next ULP value(s) after the input value(s). </p>
<p>From GLM_GTX_ulp extension. </p>

</div>
</div>
<a class="anchor" id="ga27752f3f7a9a79a50e95a9ed42800ca7"></a><!-- doxytag: member="glm::next_float" ref="ga27752f3f7a9a79a50e95a9ed42800ca7" args="(genType const &amp;x, uint const &amp;Distance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">genType glm::next_float </td>
          <td>(</td>
          <td class="paramtype">genType const &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint const &amp;&#160;</td>
          <td class="paramname"><em>Distance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the value(s) ULP distance after the input value(s). </p>
<p>From GLM_GTX_ulp extension. </p>

</div>
</div>
<a class="anchor" id="ga2a0122b31c643ca1546635fe8e4f9f74"></a><!-- doxytag: member="glm::prev_float" ref="ga2a0122b31c643ca1546635fe8e4f9f74" args="(genType const &amp;x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">genType glm::prev_float </td>
          <td>(</td>
          <td class="paramtype">genType const &amp;&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the previous ULP value(s) before the input value(s). </p>
<p>From GLM_GTX_ulp extension. </p>

</div>
</div>
<a class="anchor" id="gae506d2fb08aff01e00763d7ed76fe117"></a><!-- doxytag: member="glm::prev_float" ref="gae506d2fb08aff01e00763d7ed76fe117" args="(genType const &amp;x, uint const &amp;Distance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">genType glm::prev_float </td>
          <td>(</td>
          <td class="paramtype">genType const &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint const &amp;&#160;</td>
          <td class="paramname"><em>Distance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the value(s) ULP distance before the input value(s). </p>
<p>From GLM_GTX_ulp extension. </p>

</div>
</div>
</div>


<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5
</small></address>

</body>
</html>
